package main
import "fmt"
//算术运算符：+,-,*,/,%,++,--
/* func main(){
	//加号 - +
	//1.正数 2.相加操作 3.字符串拼接
	var n1 int = +10
	fmt.Println(n1)
	var n2 int = 4 + 6
	fmt.Println(n2)
	var n3 string = "abc" + "def"
	fmt.Println(n3)

	//除号 - /
	fmt.Println(10/3)   //两个int运算结果是整数类型
	fmt.Println(10.0/3) //浮点参与运算，结果是浮点类型

	//取模 - % 等价公式：a%b = a-a%b*b
	fmt.Println(10%3)  //1
	fmt.Println(-10%3) //-1
	fmt.Println(10%-3) //1
	fmt.Println(-10%3) //-1

	//++自增操作
	//++ 自增 加1操作，--自减，减1操作
	//go语言中，++，--只能单独使用，不能参与到运算中去
	//go语言中，++，--只能写在变量后面
	var a int = 10
	a++
	fmt.Println(a) //11
	a--
	fmt.Println(a) //10
}
 */

//赋值运算符：=,+=,-=,*=,/=,%=
//将某个运算后的值，赋给指定的变量
/* func main(){
	var n1 int = 10
	fmt.Println(n1)
	var n2 int = (10 + 20) % 3 + 7 - 6 //1
	fmt.Println(n2)
	var n3 int = 5
	n3 += 20
	fmt.Println(n3) //25

	//练习：交换两个变量的值
	var a int = 6
	var b int = 7
	fmt.Printf("a=%v b=%v",a,b)
	//交换
	//引入一个中间变量
	var t int
	t = a
	a = b
	b = t
	fmt.Printf("a=%v b=%v",a,b)
	} */

//关系运算符：==,!=,>,<,>=,<=
//关系运算符的结果都是bool类型：true/false
/* func main(){
	fmt.Println(5==9)//判断==两边的值是否相等，相等返回true，不等返回false
	fmt.Println(5!=9)
	fmt.Println(5>9)
	fmt.Println(5<9)
	fmt.Println(5>=9)
	fmt.Println(5<=9)
} */

//逻辑运算符：&&(逻辑与/短路与),||(逻辑或/短路或),!(逻辑非)
/* func main(){
	//&& - 全真为真
	fmt.Println(true&&true)
	fmt.Println(true&&false)
	fmt.Println(false&&true)
	fmt.Println(false&&false)
	//|| - 有真为真
	fmt.Println(true||true)
	fmt.Println(true||false)
	fmt.Println(false||true)
	fmt.Println(false||false)
	//! - 取相反的结果
	fmt.Println(!true)
	fmt.Println(!false)
} */

//位运算符 - 跳过

//其他运算符 - & *
/* func main(){
	//定义一个变量：
	var age int = 18
	fmt.Println(&age) //age的地址 - 0xc00000e098
	var ptr *int = &age
	fmt.Println(ptr) //age的地址 - 0xc00000e098
	fmt.Println(*ptr) //age的值 - 18
}
 */

 //获取终端输入
 func main(){
	//实现功能：键盘录入学生的年龄，姓名，成绩，是否是vip
    //方法一：Scanfln
	var age int
	//fmt.Println("请输入学生的年龄")
	//传入age的地址的目的：在Scanln函数中，对地址中的值进行改变的时候，
	//实际外面的age被影响
	//fmt.Scanln(&age)
	var name string
	//fmt.Println("请输入学生的姓名")
	//fmt.Scanln(&name)
	var score float32
	//fmt.Println("请输入学生的成绩")
	//fmt.Scanln(&score)
	var isVIP bool
	//fmt.Scanln(&isVIP)
	//打印
	//fmt.Println("请输入是否为VIP")
	//fmt.Printf("学生的年龄是：%v,姓名是：%v,成绩是：%v,是否是VIP:%v",age,name,score,isVIP)
	//方式2：Scanf
	fmt.Println("请输入学生的年龄，姓名，成绩，VIP信息，使用空格分隔")
	fmt.Scanf("%d %s %f %t",&age,&name,&score,&isVIP)
	fmt.Printf("学生的年龄是：%v,姓名是：%v,成绩是：%v,是否是VIP:%v",age,name,score,isVIP)
 }